#!/usr/bin/env node

// Node CLI应用入口文件必须要有一个特定文件头(#!/usr/bin / env node)
// - 如果是linux或这macos系统还需要修改此文件的读写权限为 755
// - 具体实现是通过 \<chmod 755 cli.js\> 指令实现

console.log('cli is working!')

const inquirer = require('inquirer')//一个用户与命令行交互的工具
const fs = require('fs')
const path = require('path')
const ejs = require('ejs')//ejs模板

inquirer.prompt([{
  type: 'input',
  name: 'name',
  message: 'Project name'
}])
  .then(anwsers=>{
  const tempDir = path.join(__dirname,'templates')//模板目录
  const destDir = process.cwd()//生成文件的目标目录
  //将模板下的文件全部转化到目标目录
  fs.readdir(tempDir,(err,files)=>{//读取所有文件
    if(err) throw err
    files.forEach(file=>{
      //通过模板引擎渲染文件
      ejs.renderFile(path.join(tempDir, file),anwsers,(error,result)=>{
        if (error) throw error
        // console.log(result)//编译后的结果
        fs.writeFileSync(path.join(destDir,file),result)//将结果写入到目录文件路径
      })
    })
  })
})



